/**
 * 
 */
package net.danielpaz.puc.poo.frigorifico.model;

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

/**
 * @author Junior
 * 
 */
public class Login extends JFrame {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	JLabel label1, label2;
	static JTextField tfUsuario, tfSenha;
	JButton btLogar, btLimpar;
	private UsuarioDAO usuarios;

	public static void main(String args[]) {
		JFrame janela = new Login();
		janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		janela.setVisible(true);
	}

	public Login() {
		inicializarComponentes();
		definirEventos();
	}

	public void inicializarComponentes() {
		setLayout(new FlowLayout(FlowLayout.LEFT));
		setTitle("Login");
		setBounds(200, 100, 610, 120);
		label1 = new JLabel("Usuario ");
		label2 = new JLabel("Senha");
		tfUsuario = new JTextField(20);
		tfSenha = new JTextField(20);
		btLogar = new JButton(null, null);
		btLogar.setText("Login");
		btLogar.setToolTipText("Login");
		btLimpar = new JButton(null, null);
		btLimpar.setText("Limpar");
		btLimpar.setToolTipText("Limpar campos");

		add(label1);
		add(tfUsuario);
		add(label2);
		add(tfSenha);
		add(btLogar);
		add(btLimpar);
		setResizable(false);
		setBotoes(true, true);
		usuarios = new UsuarioDAO();
		if (!usuarios.bd.getConnection()) {
			JOptionPane.showMessageDialog(null,
					"Falha na conexao, o sistema sera fechado!");
			System.exit(0);
		}
	}

	public void definirEventos() {

		btLogar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if (tfUsuario.getText().equals("")) {
					JOptionPane.showMessageDialog(null,
							"O usuario nao pode ser vazio!");
					tfUsuario.requestFocus();
					return;
				}
				if (tfSenha.getText().equals("")) {
					JOptionPane.showMessageDialog(null,
							"A senha nao pode ser vazia!");
					tfSenha.requestFocus();
					return;
				}
				usuarios.login();
			}
		});
		btLimpar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				limpaCampos();
			}
		});

	}

	public void limpaCampos() {
		tfUsuario.setText("");
		tfSenha.setText("");
		setBotoes(true, true);
	}

	public void setBotoes(boolean bLogar, boolean bLimpar) {
		btLogar.setEnabled(bLogar);
		btLimpar.setEnabled(bLimpar);
	}

}